home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
NeXTSTEP 3.1 (Developer) [x86]
/
NeXT Step 3.1 Intel dev.cdr.dmg
/
NextDeveloper
/
Examples
/
AppKit
/
Draw
/
graphicsUndo.subproj
/
ChangeDetail.h
< prev
next >
Wrap
Text File
|
1992-03-15
|
3KB
|
157 lines
/*
* Please refer to external documentation about Draw
* with Undo for information about what ChangeDetails
* are and where they fit in.
*
* The ChangeDetail.h and ChangeDetail.m files contain
* the @interfaces and @implementations for the 11
* subclasses of ChangeDetail, as well as for ChangeDetail
* itself. We grouped all the classes into one pair of
* files because the classes are so tiny and their behavior
* is so similar.
*
* ChangeDetail
* ArrowChangeDetail
* DimensionsChangeDetail
* FillColorChangeDetail
* FillModeChangeDetail
* LineCapChangeDetail
* LineColorChangeDetail
* LineJoinChangeDetail
* LineWidthChangeDetail
* MoveChangeDetail
* OrderChangeDetail
*
*/
@interface ChangeDetail : Object
{
Graphic *graphic; /* the Graphic that we serve */
id change; /* the Change object that we belong to */
List *detailsDetails; /* If the Graphic that this ChangeDetail
* serves is a Group then detailsDetails
* is used to keep track of the
* ChangeDetails that serve the component
* Graphics of the Group.
*/
BOOL changeExpected;
}
- initGraphic:aGraphic change:aChange;
- free;
- graphic;
- (BOOL)useNestedDetails;
- (BOOL)changeExpected;
- recordDetail;
- undoDetail;
- redoDetail;
- recordIt;
- undoIt;
- redoIt;
@end
@interface ArrowChangeDetail : ChangeDetail
{
int oldLineArrow;
}
- recordIt;
- undoIt;
- redoIt;
@end
@interface DimensionsChangeDetail : ChangeDetail
{
NXRect oldBounds;
NXRect newBounds;
}
- (BOOL)useNestedDetails;
- recordDetail;
- undoDetail;
- redoDetail;
@end
@interface FillChangeDetail : ChangeDetail
{
NXColor oldFillColor;
int oldFillMode;
NXColor newFillColor;
int newFillMode;
}
- recordIt;
- undoIt;
- redoIt;
@end
@interface LineCapChangeDetail : ChangeDetail
{
int oldLineCap;
}
- recordIt;
- undoIt;
- redoIt;
@end
@interface LineColorChangeDetail : ChangeDetail
{
NXColor oldColor;
BOOL oldIsOutlined;
}
- recordIt;
- undoIt;
- redoIt;
@end
@interface LineJoinChangeDetail : ChangeDetail
{
int oldLineJoin;
}
- recordIt;
- undoIt;
- redoIt;
@end
@interface LineWidthChangeDetail : ChangeDetail
{
float oldLineWidth;
}
- recordIt;
- undoIt;
- redoIt;
@end
@interface MoveChangeDetail : ChangeDetail
{
}
- (BOOL)useNestedDetails;
- undoDetail;
- redoDetail;
@end
@interface OrderChangeDetail : ChangeDetail
{
unsigned graphicPosition;
}
- (BOOL)useNestedDetails;
- recordGraphicPositionIn:graphicList;
- (unsigned)graphicPosition;
@end